import { IPSDEFUIItem } from '../../dataentity/defield/ipsdefuiitem';
import { IPSSysPFPlugin } from '../../res/ipssys-pfplugin';

/**
 *
 * 子接口类型识别属性[]
 * @export
 * @interface IPSDEFGridColumn
 */
export interface IPSDEFGridColumn extends IPSDEFUIItem {
  /**
   * 代码表输出模式
   * @description 值模式 [列表项代码表转换模式] {NONE：直接值、 FRONT：绘制时转换（前台）、 BACKEND：控制器转换（后台） }
   * @type {( string | 'NONE' | 'FRONT' | 'BACKEND')}
   */
  cLConvertMode: string | 'NONE' | 'FRONT' | 'BACKEND';

  /**
   * 表格列对齐
   * @description 值模式 [云实体属性界面模式表格列对齐] {LEFT：左对齐、 CENTER：居中、 RIGHT：右对齐 }
   * @type {( string | 'LEFT' | 'CENTER' | 'RIGHT')}
   */
  columnAlign: string | 'LEFT' | 'CENTER' | 'RIGHT';

  /**
   * 列宽度
   * @type {number}
   */
  columnWidth: number;

  /**
   * 启用条件
   * @description 值模式 [实体表单表单项启用条件] {0：无、 1：建立、 2：更新、 3：全部 }
   * @type {( number | 0 | 1 | 2 | 3)}
   */
  enableCond: number | 0 | 1 | 2 | 3;

  /**
   * 列绘制前端模板插件
   *
   * @type {IPSSysPFPlugin}
   */
  getRenderPSSysPFPlugin(): IPSSysPFPlugin | null;

  /**
   * 列绘制前端模板插件
   *
   * @type {IPSSysPFPlugin}
   */
  get renderPSSysPFPlugin(): IPSSysPFPlugin | null;

  /**
   * 列绘制前端模板插件（必须存在）
   *
   * @type {IPSSysPFPlugin}
   */
  getRenderPSSysPFPluginMust(): IPSSysPFPlugin;

  /**
   * 支持排序
   * @type {boolean}
   */
  enableSort: boolean;
}
